package com.pzhu.user.domain.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.pzhu.base.common.utils.mybatisflex.LogicDeleteEntity;
import com.pzhu.user.domain.enums.UserSexEnum;
import com.pzhu.user.domain.enums.UserStatusEnum;
import lombok.*;

import java.io.Serial;
import java.io.Serializable;

/**
 * 用户表
 *
 * @TableName user
 */
@EqualsAndHashCode(callSuper = true)
@Table(value = "user")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User extends LogicDeleteEntity implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @Id(keyType = KeyType.Auto)
    private Long id;
    /**
     * 用户名
     */
    private String username;
    /**
     * 用户名
     */
    private String password;
    /**
     * 手机号
     */
    private String phone;

    /**
     * 性别
     */
    private UserSexEnum gender;

    /**
     * 邮箱
     */
    private String email;
    /**
     * 头像
     */
    private String avatar;


    /** 状态 */
    private UserStatusEnum status;

    /**
     * 昵称
     */
    private String nickname;


    /** 生日 */
    private String birthday;

    /** 市 */
    private String city;

    /** 省 */
    private String province;

    /** 国家 */
    private String country;
}